<script>
    
    var combosEspecialidad;//:Array
        var combosEspecialidadDiv;
        var idEspecialidadSeleccionada;
        var idEspecialidadPadre;
    function onReady() {
        
        iniCombosEspecialidad();
        $('#idBuscar').click(function(){
            Tabla(idEspecialidadSeleccionada);
        });
    }
        
        function VerificarCancelacionCita(valor,idExamenes){
        var opcion=confirm('¿Desea cancelar la cita seleccionada?');
        if (opcion==true){
            CancelarCita(valor,idExamenes);
            
        }
    }
    function CancelarCita(valor,idExamenes){
        $.ajax({
            url: <?php echo "'".base_url()."cita/Cancelar_Cita'"; ?>,
            type: "GET",
            data: {
                 valor : valor
             },
            dataType: "json",
            cache: false,
            beforeSend: function (){
            },
            success: function (data){
                 Tabla(idExamenes);
            },
            error: function(xhr, textStatus, errorThrown) {
                            
                            alert("Ha ocurrido un error.");
            }
        });
    }
	function cargarNuevoNivel(lvl){
		var idEspecialidad;
		if (lvl >= 0){
			idEspecialidad = $("#comboEsp_combo_lvl"+lvl).val();
			combosEspecialidad[lvl].sVal = idEspecialidad;
                        if (lvl==0){
                            idEspecialidadPadre=idEspecialidad;
                        }else{
                            if ((lvl==1) && (idEspecialidadPadre==7)){
                                idEspecialidadPadre=idEspecialidad;
                            }
                        }
		}else{
			idEspecialidad = "";
                        idEspecialidadPadre=-1;
		}
		//alert("lvl: "+lvl+" id:"+idEspecialidad);
		$.ajax(
	    {
	        url: <?php echo "'".base_url()."cita/wsGetEspecialidades'"; ?>,//actividades = especialidades D:
	        type: 'GET',
	        dataType: 'json',
	        data: {idEspecialidad: idEspecialidad},
	        cache: false,
	        beforeSend: function() {
	        },
	        success: function(data){
	        	if (data.length != 0){
	            	agregarNivel(lvl, data);
	            	idEspecialidadSeleccionada = -1;
	        	}else{
	        		borrarCombosMayoresA(lvl);
	        		//selectUltimaEspecialidad_handler(idEspecialidad);
	        		idEspecialidadSeleccionada = idEspecialidad;
	        	}
	        },
	        error: function(xhr, textStatus, errorThrown) {
	            msg("error", "Error", "Ha ocurrido un error al cargar las especialidades");
	        }
	    });
	}

	function agregarNivel(lvl, hijos){
		//agrega nivel referente a lo que hayan elegido
		//y borra los de niveles posteriores
		var iNuevo = lvl+1;
                var resultado= getTextLabel(lvl,idEspecialidadPadre);
		var strContent = "<div id='comboEsp_lvl"+iNuevo+"'><label id ='labelEsp_lvl"+iNuevo+"'>"+getTextLabel(lvl,idEspecialidadPadre)+"</label><select id='comboEsp_combo_lvl"+iNuevo+"' onchange='cargarNuevoNivel("+iNuevo+");'>";
		strContent += "<option value='-1'></option>";
		for (var i in hijos){
			strContent += "<option value='"+hijos[i].id+"'>"+hijos[i].nombre+"</option>";
		}
		strContent += "</select></div>";

		borrarCombosMayoresA(lvl);
		combosEspecialidadDiv.append(strContent);
		$("#comboEsp_combo_lvl"+iNuevo).chosen();
		combosEspecialidad.push({
				htmlContent: strContent
				});
	}

	function borrarCombosMayoresA(lvl){
		combosEspecialidadDiv.html("");
		var nuevoArreglo = new Array();
		for (var i in combosEspecialidad){
			//agregamos solo los q son menores o iguales a lvl, los demas se borraron
			if (i <= lvl){
				nuevoArreglo.push(combosEspecialidad[i]);
				combosEspecialidadDiv.append(combosEspecialidad[i].htmlContent);
				$("#comboEsp_combo_lvl"+i).val(combosEspecialidad[i].sVal);
				$("#comboEsp_combo_lvl"+i).chosen();
			}
		}
		//chancamos el arreglo de combos
		combosEspecialidad = nuevoArreglo;
	}

	function storeCombosEspecialidad(){
		combosEspecialidadDiv = $("#combosEspecialidadDiv");

	}
        function getTextLabel(level,idPadre){
            
            if (level==-1){
                return "Tipo Cita:";
            }
            else{
                if (level==0){
                    switch(idPadre){
                        case '1': return "Especialidad:"; break;
                        case '2': return "Laboratorio:"; break;
                        case '3': return "Imagenologia:"; break;
                        case '5': return "Terapia:"; break;
                        case '6': return "Especialidad:";break;
                        default: return "Linea1";  
                    }
                }
                else{
                    if (level==1){
                        switch (idPadre){
                            case '2': return "Tipo Laboratorio:"; break;
                            case '3': return "Tipo Imagen:"; break;
                            default: return "Linea2"; break;
                        }
                    }
                    else{
                        if (level==2){
                            switch (idPadre){
                                case '2': return "Examen Laboratorio:"; break;
                                case '3': return "Examen Imagenologia:"; break;
                                default: return "Linea3"; break;
                            }
                        }
                    }
                }
            }
        }
	function iniCombosEspecialidad(){
		storeCombosEspecialidad();
		combosEspecialidad = new Array();
		cargarNuevoNivel(-1);
	}
        function Tabla(idExamenes){
        $.ajax({
            url: <?php echo "'".base_url()."cita/buscar_tabla'"; ?>,
            type: "GET",
            data: {
                 idexamenes : idExamenes,
                 doctor :$("#idDoctor").val(),
                 paciente: $("#idPaciente").val(),
                 fecInicial: $("#idFecIni").val(),
                 fecFinal: $("#idFecFin").val()
             },
            dataType: "json",
            cache: false,
            beforeSend: function (){
            },
            success: function (data){
                if (!(data==null)){
                    if (!(data.length==0)){   
                        strResultados = latisoft_openTable("Nombre del Paciente","Nombre de Personal Médico","Examen/Cita","Dia","Hora","Estado","Detalle","Cancelación");
                        for (var i in data){
                            var cita = data[i];
                            var strestado;
                            var strlink0;
                            var strlink
                            strlink = "<a id='"+cita.cita+"' href='javascript:VerificarCancelacionCita("+cita.cita+","+idExamenes+")'>¿Cancelar cita?</a>";   
                            strlink0= "<a id='"+cita.cita+"' href='<?php echo base_url()?>cita/detallecita/"+cita.cita+"'>Detalle Cita</a>";
                            strestado="Reservado";     
                            strResultados += latisoft_tableRow(cita.nombreP,cita.nombreD,cita.especialidad,cita.dia,cita.hora,strestado,strlink0,strlink);
                        }
                    }
                    else{
                        strResultados="No se encontraron coincidencias";
                    }
                }
                else{
                    strResultados="Por favor seleccione algún criterio de busqueda";
                }
                    strResultados += latisoft_closeTable();
                  $("#resultados").html(strResultados);
                  latisoft_scrollToAnchor("res");
            },
            error: function(xhr, textStatus, errorThrown) {
                            
                            alert("Ha ocurrido un error.");
            }
        });
    }
        
</script>
